package com.zhongfl.crm.model.boss;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhongfl.crm.enums.boss.AmibaCode;
import com.zhongfl.crm.enums.boss.OrderQueryType;
import com.zhongfl.crm.enums.boss.WorkOrderTypeCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;
import java.util.List;

/**
 * 订单查询条件
 * Created by wangkun23 on 2018/4/16.
 */
@ToString
public class OrderQuery extends PageVo {

    /**
     * 订单号
     */
    @Setter
    @Getter
    private String orderNo;

    /**
     * 订单状态
     */
    @Setter
    @Getter
    private String status;


    /**
     * 客户姓名
     */
    @Setter
    @Getter
    private String name;

    /**
     * 商务经理所属阿米巴
     */
    @Setter
    @Getter
    private Integer businessManagerAmibaId;

    @Setter
    @Getter
    private List<Integer> businessManagerAmibaIds;


    /**
     * 商务经理
     */
    @Setter
    @Getter
    private String businessManager;


    /**
     * 商务经理code
     */
    @Setter
    @Getter
    private String  businessManagerStaffCode;

    /**
     * 交付经理
     */
    @Setter
    @Getter
    private String deliverManager;

    /**
     * 交付经理code
     */
    @Setter
    @Getter
    private String deliverManagerStaffCode;


    /**
     * 交付经理所在的阿米巴
     */
    @Setter
    @Getter
    private String deliverManagerAmibaId;
    @Setter
    @Getter
    private List<Integer> deliverManagerAmibaIds;

    /**
     * 开始时间
     */
    @Setter
    @Getter
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;

    /**
     * 结束时间
     */
    @Setter
    @Getter
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    /**
     * 员工编号
     */
    @Setter
    @Getter
    private String staffCode;

    /**
     * 当前登录员工编号
     */
    @Setter
    @Getter
    private String currentStaffCode;

    /**
     * 查询方式（我关注的，待评价的，我的评价）
     */
    @Setter
    @Getter
    private OrderQueryType orderQueryType;

    /**
     * 工单类型列表
     */
    @Setter
    @Getter
    private List<WorkOrderTypeCode> workOrderTypeCodes;

    /**
     * 渠道
     */
    @Setter
    @Getter
    private String channelName;

    @Setter
    @Getter
    private String orderBy;

    /**
     * 当前角色所属巴类型
     */
    @Setter
    @Getter
    private AmibaCode amibaCode;

    /**
     *商务助理staffCode
     */
    @Getter
    @Setter
    private String businessAssistantStaffCode;

    /**
     * 查询待分配标识（交付端使用）
     */
    @Getter
    @Setter
    private Boolean selectUnassigned;


    /**
     * 订单的一次性通过
     */
    @Getter
    @Setter
    private String  confirmStatus;
}
